#include "communicate.h"
#include "ui_communicate.h"

#include "homepage.h"




Communicate::Communicate(QWidget *parent) : QDialog(parent), ui(new Ui::Communicate){
    ui->setupUi(this);

    //这是调用当前对象（假设当前对象是一个继承自QDialog的类实例）的
    this->setStyleSheet("QDialog { border: none; margin: 0px; }");
    // 移除所有框架提示
    this->setWindowFlags(Qt::FramelessWindowHint);
    // 使用 QTimer 模拟任务进度
    mQTimer = new QTimer(this);
    //绑定事件
    connect(mQTimer, &QTimer::timeout, this, &Communicate::updateProgress);
    // 每100毫秒更新一次进度
    mQTimer->start(10);
    //监听是否达到100
    connect(ui->InitializeProgressBar, &QProgressBar::valueChanged, this, &Communicate::onProgressChanged);

}

Communicate::~Communicate(){
    delete ui;
}






/**
 * @brief Initializedialog::updateProgress
 * 监听当前进度
 *
 */
void Communicate::onProgressChanged(){
    //获取当前进度
    int value = ui->InitializeProgressBar->value();
    if(value == 100){
        //达到100停止计时器
        mQTimer->stop();
        //打开新的页面
        HomePage *mHomePage = new HomePage();
        mHomePage->show();
        //关闭页面
        accept();
        //
        return;
    }

}


/**
 * @brief Communicate::updateProgress
 * 模拟初始化进度
 *
 */
void Communicate::updateProgress(){
    //获取当前进度
    int value = ui->InitializeProgressBar->value();
    //设置进度
    ui->InitializeProgressBar->setValue(value + 1);
}
